
/**************************************************************
 * 
 * Copyright ? 2012，北京福富软件技术股份有限公司
 * All Rights Reserved.
 * ------------------------------------------------------------
 * 文件名称：GlobalDynLoader.java
 * 文件摘要：全局ini文件中的动态数据源节点下的数据的自动加载
 * 初始版本：V1.0.0
 * 初始作者：Linz
 * 完成日期：2012-02
 * 
 **************************************************************/
package com.util;

import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;


/**************************************************************************
 * 
 * 类名：GlobalDynLoader<br>
 * <br>
 * 功能：全局ini文件中的动态数据源节点下的数据的自动加载<br>
 * <br>
 * 作者：Linz 2012-02<br>
 * <br>
 * 属性列表：<br>
 * 		private static IniFileReader iniReader<br>
 * <br>
 * 方法列表：<br>
 * 		public void init() throws ServletException<br>
 * 		...<br>
 * <br>
 * 修改记录：<br>
 * 		日期				修改人			修改说明<br>
 * 
 **************************************************************************/
public class GlobalDynLoader extends HttpServlet
{
	private static final long serialVersionUID = 897578347438955L;
	
	
	/**************************************************************************
	 * 
	 * 函数名：init() throws ServletException<br>
	 * <br>
	 * 功能：初始化时，取得全局ini文件中的[DynDS]节点下的数据源名称，加载至DataSourceMap中<br>
	 * <br>
	 * 作者：Linz 2012-02<br>
	 * <br>
	 * 参数表：<br>
	 * 		无<br>
	 * <br>
	 * 返回值：<br>
	 * 		无<br>
	 * <br>
	 * 修改记录：<br>
	 * 		日期				修改人			修改说明<br>
	 * 
	 **************************************************************************/
	public void init() throws ServletException
	{
		try
		{
			Debug.println("系统正在加载动态数据源...");
			IniFileReader iniReader = GlobalIniLoader.getInstance();		//ini文件读取对象
			List<String>  keyList   = iniReader.getKeyList("DynDS");
			for (int i=0; keyList!=null && i<keyList.size(); i++)
			{
				String pname  = keyList.get(i);								//参数名
				String pvalue = iniReader.getValue("DynDS", pname);			//参数值
				DataSourceMap.DS_MAP.put(pname, pvalue);
			}
			this.getServletContext().removeAttribute("Error_GlobalDynLoader");
			Debug.println("系统加载动态数据源成功...");
		}
		catch (Exception e)
		{
			Debug.println("系统加载动态数据源失败...");
			this.getServletContext().setAttribute("Error_GlobalDynLoader", "系统加载动态数据源失败...");
		}
	}

}
